#!/bin/bash
# 定义用于同步的用户名
SLAVE_SYNC_USER=${SLAVE_SYNC_USER:-sync_master}
# 定义用于同步的密码
SLAVE_SYNC_PASSWORD=${SLAVE_SYNC_PASSWORD:-joyfun666}
# 定义用于登录mysql是用户名
ADMIN_USER=${ADMIN_USER:-root}
# 定义用于登录mysql是密码
ADMIN_PASSWORD=${ADMIN_PASSWORD:-root}
# 定义运行登录的HOST地址
ALLOW_HOST=${ALLOW_HOST:-%}
# 定义主节点的地址
MASTER_HOST=${MASTER_HOST:-10.10.10.10}

# 等待10s 保证master链接成功，不然会失败
sleep 10

# 链接master数据库
RESULT=`mysql -h${MASTER_HOST} -u${SLAVE_SYNC_USER} -p${SLAVE_SYNC_PASSWORD} -e "show master status;" | grep -v grep | tail -n +2 | awk '{print $1, $2}'`
# 解析出logfile和logpos
LOG_FILE_NAME=`echo ${RESULT} | awk '{print $1}'`
LOG_FILE_POS=`echo ${RESULT} | awk '{print $2}'`

# 设置连接master 的同步信息
SYNC_SQL="CHANGE MASTER TO MASTER_HOST='${MASTER_HOST}', MASTER_USER='${SLAVE_SYNC_USER}', MASTER_PASSWORD='${SLAVE_SYNC_PASSWORD}', MASTER_LOG_FILE='${LOG_FILE_NAME}', MASTER_LOG_POS=${LOG_FILE_POS};"

# 开启同步
START_SYNC_SQL="START SLAVE;"

# 查询同步状态
STATUS_SQL="SHOW SLAVE STATUS\G;"

# 执行sql
mysql -u${ADMIN_USER} -p${ADMIN_PASSWORD} -e "${SYNC_SQL} ${START_SYNC_SQL} ${STATUS_SQL}"
